---
id: 65c4f195de7e2ad5932be717
title: Крок 9
challengeType: 20
dashedName: step-9
---

# --description--

Далі вам потрібно визначити механізм вставки вузлів у дерево. Для цього потрібно визначити метод `_insert`, який є допоміжною функцією та пізніше буде використаний методом `insert`.

Цей метод є рекурсивним, тобто він викликає сам себе, щоб пройти по дереву, доки не знайде відповідне місце для нового вузла.

Визначте метод `_insert` з параметрами `self`, `node` та `key`.

# --hints--

Визначте метод `_insert` в межах класу `BinarySearchTree`. Не забудьте використати `pass`.

```js
({ test: () => assert.match(code, /def\s+_insert\s*\([^(]*\)\s*:/m) })
```

Метод `_insert` має приймати три параметри: `self`, `node` та `key`.

```js
({ test: () => assert.match(code, /def\s+_insert\s*\(\s*self\s*,\s*node\s*,\s*key\s*\)\s*:/m) })
```

# --seed--

## --seed-contents--

```py
class TreeNode:
    def __init__(self, key):
        self.key = key
        self.left = None
        self.right = None
--fcc-editable-region--
class BinarySearchTree:
    def __init__(self):
        self.root = None

--fcc-editable-region--
```
